package com.hedl.practice.diyJava.multithreading.daemon_thread.test;

import com.hedl.practice.diyJava.multithreading.daemon_thread.tmp.DaemonThread;

public class Main {
    /**
     * 守护线程中，编写代码要注意：
     *                      守护线程不能持有任何需要关闭的资源，例如打开文件等，因为虚拟机退出时，守护线程没有任何机会来关闭文件，这会导致数据丢失。
     * 小结：
     *      守护线程是为其他线程服务的线程；
     *      所有非守护线程都执行完毕后，虚拟机退出；
     *      守护线程不能持有需要关闭的资源（如打开文件等）。
     * @param args
     */
    public static void main(String[] args) {
        DaemonThread dt = new DaemonThread();
        dt.setDaemon(true);
        dt.start();
        System.out.println("main: wait 3 sec...");
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        System.out.println("main:end...");
    }
}
